package com.ys.nms.module.business.controller.admin.alertRules.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - 报警规则 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AlertRulesRespVO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1156")
    @ExcelProperty("ID")
    private Integer id;

    @Schema(description = "规则", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("规则")
    private String rule;

    @Schema(description = "报警级别", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("报警级别")
    private String severity;

    @Schema(description = "附加参数", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("附加参数")
    private String extra;

    @Schema(description = "0启用1禁用", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("0启用1禁用")
    private Boolean disabled;

    @Schema(description = "规则名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    @ExcelProperty("规则名称")
    private String name;

    @Schema(description = "触发条件的 SQL 查询", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("触发条件的 SQL 查询")
    private String query;

    @Schema(description = "UI 构建的规则结构", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("UI 构建的规则结构")
    private String builder;

    @Schema(description = "报警处理函数")
    @ExcelProperty("报警处理函数")
    private String proc;

    @Schema(description = "是否反转条件逻辑", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否反转条件逻辑")
    private Boolean invertMap;

    @Schema(description = "规则备注")
    @ExcelProperty("规则备注")
    private String notes;

}